<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // __proto__   每一个对象都有一个属性叫做 __proto__


        // __proto__  指向构造函数的prototype

        
        function Person(name, age) {
            this.name = name;
            this.age = age;
        }

        Person.prototype.say = function() {
            console.log('say');
        }


        const p1 = new Person('cc' , 20) ;


        // p1.constructor  -> Person 
        //    p1可以使用构造函数的所有属性和方法
        // p1.__proto__    Person.prototype 
        //    p1也可以使用prototype上的所有属性和方法

        p1.say()

        console.log(p1.__proto__ === Person.prototype);  // true


        // prototype也是一个对象   

        console.log(Person.prototype.__proto__ === Object.prototype);

        // 
        console.log(Object.prototype.__proto__ === null);

    </script>
    
</body>
</html>